A brief paragraph summarizing the scientific background and/or why that particular question is interesting (you should cite at least 3-5 papers). Of course, you should clearly state the question you're going to investigate as well as the specific hypothesis you set out to test.
RNA sequencing (RNA-seq) is widely used to profile transcriptomes and
identify differentially expressed genes (DEGs) between conditions. The
alignment algorithm used in RNA-seq data analysis can affect the results
of downstream analysis, including pathway enrichment analysis.
Salmon and STAR are two widely used alignment algorithms for RNA-seq
data. The specific question to investigate is whether the use of Salmon
and STAR alignment algorithms results in different pathways being
enriched. This question is interesting because pathway enrichment
analysis is often used to identify biological processes involved in
specific conditions, and differences in pathway analysis based on the
alignment algorithm used could impact the interpretation of results.
Several studies have compared the performance of different RNA-seq
alignment algorithms, including Salmon and STAR, and have shown that the
choice of alignment algorithm can affect the results of downstream
analysis. For example, a study by Hu et al. (2019) compared the
performance of different RNA-seq alignment algorithms and showed that
the choice of alignment algorithm can significantly affect the
identification of DEGs. Another study by Xu et al. (2020) evaluated the
performance of different RNA-seq alignment algorithms for quantifying
gene expression and showed that Salmon performed better than STAR for
some metrics. A third study by Tarazona et al. (2015) compared different
RNA-seq analysis pipelines and showed that different pipelines can lead
to different results in terms of DEG identification and pathway
enrichment analysis.
Overall, the hypothesis is that applying Salmon and STAR alignment
algorithms will result in different pathways being enriched.
Results
Another brief paragraph summarizing your key insights and possible future experiments/analyses that might enhance your own analysis. Make sure to include a discussion of the limits that your data set has!
There appears to be no significant difference between the end
results of both the algorithms when considering this particular
functionality (Differential Expression Analysis).
This might be limited to well studied genomes. More research needs
to be done on organisms that have not been indexed accurately.
Conducting Gene Ontology assessment requires prior knowledge about
the over-represented pathways that pop-up in certain genomes often,
making a note of these GO terms while interpreting the results of GO
enrichment will keep one from being misled due to these biases.
Further well thought out GO analysis should be conducted on this
dataset.
Limitations:
The authors did not disclose what kind of pathway analysis they’ve
performed in the paper. This lead to a lot of confusion due to a
mismatch between my results and the paper’s, post-EnrichKEGG.
The authors also did not mention dealing with over-represented
pathways based on the gene-ratio bias.
The RNA-Seq analysis for this paper was delegated to the
bioinformatics-core in Harvard explaining why the finer details for this
step were not provided.
Methods
A detailed verbose description of all the steps you took to arrive at the conclusion including how and where the data was downloaded, pre-processed and analyzed. This should also include some brief reasoning of why you chose certain tools/solutions and what the results of the QC tell you about the data at hand.
[List of genes mentioned to be differentially expressed]
Details about the project files
What publication is it linked to?
Ans: The cited article is the source for this
dataset:
Li, S., & Jakobs, T. C. (2022). Secreted phosphoprotein 1 slows
neurodegeneration and rescues visual function in mouse models of aging
and glaucoma. Cell reports, 41(13), 111880. https://doi.org/10.1016/j.celrep.2022.111880
Who generated the data?
Ans: The authors Song Li and Tatjana C Jakobs
produced the data. They are affiliated to the Department of
Ophthalmology, Harvard Medical School, Boston.
Ans: RNA was extracted using the RNeasy Plus Micro
Kit (Qiagen; 74034)
What library prep was used?
Ans: mRNA profiles were generated by deep sequencing
using Illumina NovaSeq 6000
What cell type was used?
Ans: Astrocytes isolated from either C57BL/6
wild-type or Spp1 KO neonatal mice were used
What was the treatment/experimental
condition?
Ans: The experimental condition was the knockout of
Spp1
What sequencing platform was used?
Ans: Illumina NovaSeq 6000 was used for
sequencing
Downloading Data & Basic QC
Downloading the .fastq files
I have used the following script to download the fastq files from the
.tsv file I’ve obtained from ENA. It was parsed to obtain
the .fastq ftp links along-side the run accession number.
The file contains the following links that have been parsed from the
.tsv file from this link:
MultiQC: Summarize analysis results for multiple tools and samples in a single report Philip Ewels, Måns Magnusson, Sverker Lundin and Max Käller
Bioinformatics (2016)
doi: 10.1093/bioinformatics/btw354
PMID: 27312411
A modular tool to aggregate results from bioinformatics analyses across many samples into a single report.
Loading report..
Report
generated on 2023-03-24, 11:04 EDT
based on data in:
/athena/angsd/scratch/moa4020/project/GEO_Dataset/fastqc
Uncheck the tick box to hide columns. Click and drag the handle on the left to change order.
Sort
Visible
Group
Column
Description
ID
Scale
||
FastQC
% Dups
% Duplicate Reads
percent_duplicates
None
||
FastQC
% GC
Average % GC Content
percent_gc
None
||
FastQC
Average Read Length
Average Read Length (bp)
avg_sequence_length
None
||
FastQC
Median Read Length
Median Read Length (bp)
median_sequence_length
None
||
FastQC
% Failed
Percentage of modules failed in FastQC report (includes those not plotted here)
percent_fails
None
||
FastQC
M Seqs
Total Sequences (millions)
total_sequences
read_count
FastQC
FastQC is a quality control tool for high throughput sequence data, written by Simon Andrews at the Babraham Institute in Cambridge.
Sequence Counts
Sequence counts for each sample. Duplicate read counts are an estimate only.
This plot show the total number of reads, broken down into unique and duplicate
if possible (only more recent versions of FastQC give duplicate info).
You can read more about duplicate calculation in the
FastQC documentation.
A small part has been copied here for convenience:
Only sequences which first appear in the first 100,000 sequences
in each file are analysed. This should be enough to get a good impression
for the duplication levels in the whole file. Each sequence is tracked to
the end of the file to give a representative count of the overall duplication level.
The duplication detection requires an exact sequence match over the whole length of
the sequence. Any reads over 75bp in length are truncated to 50bp for this analysis.
loading..
Sequence Quality Histograms
The mean quality value across each base position in the read.
To enable multiple samples to be plotted on the same graph, only the mean quality
scores are plotted (unlike the box plots seen in FastQC reports).
The y-axis on the graph shows the quality scores. The higher the score, the better
the base call. The background of the graph divides the y axis into very good quality
calls (green), calls of reasonable quality (orange), and calls of poor quality (red).
The quality of calls on most platforms will degrade as the run progresses, so it is
common to see base calls falling into the orange area towards the end of a read.
loading..
Per Sequence Quality Scores
The number of reads with average quality scores. Shows if a subset of reads has poor quality.
The per sequence quality score report allows you to see if a subset of your
sequences have universally low quality values. It is often the case that a
subset of sequences will have universally poor quality, however these should
represent only a small percentage of the total sequences.
loading..
Per Base Sequence Content
The proportion of each base position for which each of the four normal DNA bases has been called.
To enable multiple samples to be shown in a single plot, the base composition data
is shown as a heatmap. The colours represent the balance between the four bases:
an even distribution should give an even muddy brown colour. Hover over the plot
to see the percentage of the four bases under the cursor.
To see the data as a line plot, as in the original FastQC graph, click on a sample track.
Per Base Sequence Content plots out the proportion of each base position in a
file for which each of the four normal DNA bases has been called.
In a random library you would expect that there would be little to no difference
between the different bases of a sequence run, so the lines in this plot should
run parallel with each other. The relative amount of each base should reflect
the overall amount of these bases in your genome, but in any case they should
not be hugely imbalanced from each other.
It's worth noting that some types of library will always produce biased sequence
composition, normally at the start of the read. Libraries produced by priming
using random hexamers (including nearly all RNA-Seq libraries) and those which
were fragmented using transposases inherit an intrinsic bias in the positions
at which reads start. This bias does not concern an absolute sequence, but instead
provides enrichement of a number of different K-mers at the 5' end of the reads.
Whilst this is a true technical bias, it isn't something which can be corrected
by trimming and in most cases doesn't seem to adversely affect the downstream
analysis.
Click a sample row to see a line plot for that dataset.
Rollover for sample name
Position: -
%T: -
%C: -
%A: -
%G: -
Per Sequence GC Content
The average GC content of reads. Normal random library typically have a
roughly normal distribution of GC content.
This module measures the GC content across the whole length of each sequence
in a file and compares it to a modelled normal distribution of GC content.
In a normal random library you would expect to see a roughly normal distribution
of GC content where the central peak corresponds to the overall GC content of
the underlying genome. Since we don't know the the GC content of the genome the
modal GC content is calculated from the observed data and used to build a
reference distribution.
An unusually shaped distribution could indicate a contaminated library or
some other kinds of biased subset. A normal distribution which is shifted
indicates some systematic bias which is independent of base position. If there
is a systematic bias which creates a shifted normal distribution then this won't
be flagged as an error by the module since it doesn't know what your genome's
GC content should be.
loading..
Per Base N Content
The percentage of base calls at each position for which an N was called.
If a sequencer is unable to make a base call with sufficient confidence then it will
normally substitute an N rather than a conventional base call. This graph shows the
percentage of base calls at each position for which an N was called.
It's not unusual to see a very low proportion of Ns appearing in a sequence, especially
nearer the end of a sequence. However, if this proportion rises above a few percent
it suggests that the analysis pipeline was unable to interpret the data well enough to
make valid base calls.
loading..
Sequence Length Distribution
All samples have sequences of a single length (150bp).
Sequence Duplication Levels
The relative level of duplication found for every sequence.
In a diverse library most sequences will occur only once in the final set.
A low level of duplication may indicate a very high level of coverage of the
target sequence, but a high level of duplication is more likely to indicate
some kind of enrichment bias (eg PCR over amplification). This graph shows
the degree of duplication for every sequence in a library: the relative
number of sequences with different degrees of duplication.
Only sequences which first appear in the first 100,000 sequences
in each file are analysed. This should be enough to get a good impression
for the duplication levels in the whole file. Each sequence is tracked to
the end of the file to give a representative count of the overall duplication level.
The duplication detection requires an exact sequence match over the whole length of
the sequence. Any reads over 75bp in length are truncated to 50bp for this analysis.
In a properly diverse library most sequences should fall into the far left of the
plot in both the red and blue lines. A general level of enrichment, indicating broad
oversequencing in the library will tend to flatten the lines, lowering the low end
and generally raising other categories. More specific enrichments of subsets, or
the presence of low complexity contaminants will tend to produce spikes towards the
right of the plot.
loading..
Overrepresented sequences
The total amount of overrepresented sequences found in each library.
FastQC calculates and lists overrepresented sequences in FastQ files. It would not be
possible to show this for all samples in a MultiQC report, so instead this plot shows
the number of sequences categorized as over represented.
Sometimes, a single sequence may account for a large number of reads in a dataset.
To show this, the bars are split into two: the first shows the overrepresented reads
that come from the single most common sequence. The second shows the total count
from all remaining overrepresented sequences.
A normal high-throughput library will contain a diverse set of sequences, with no
individual sequence making up a tiny fraction of the whole. Finding that a single
sequence is very overrepresented in the set either means that it is highly biologically
significant, or indicates that the library is contaminated, or not as diverse as you expected.
FastQC lists all of the sequences which make up more than 0.1% of the total.
To conserve memory only sequences which appear in the first 100,000 sequences are tracked
to the end of the file. It is therefore possible that a sequence which is overrepresented
but doesn't appear at the start of the file for some reason could be missed by this module.
16 samples had less than 1% of reads made up of overrepresented sequences
Adapter Content
The cumulative percentage count of the proportion of your
library which has seen each of the adapter sequences at each position.
Note that only samples with ≥ 0.1% adapter contamination are shown.
There may be several lines per sample, as one is shown for each adapter
detected in the file.
The plot shows a cumulative percentage count of the proportion
of your library which has seen each of the adapter sequences at each position.
Once a sequence has been seen in a read it is counted as being present
right through to the end of the read so the percentages you see will only
increase as the read length goes on.
loading..
Status Checks
Status for each FastQC section showing whether results seem entirely normal (green),
slightly abnormal (orange) or very unusual (red).
FastQC assigns a status for each section of the report.
These give a quick evaluation of whether the results of the analysis seem
entirely normal (green), slightly abnormal (orange) or very unusual (red).
It is important to stress that although the analysis results appear to give a pass/fail result,
these evaluations must be taken in the context of what you expect from your library.
A 'normal' sample as far as FastQC is concerned is random and diverse.
Some experiments may be expected to produce libraries which are biased in particular ways.
You should treat the summary evaluations therefore as pointers to where you should concentrate
your attention and understand why your library may not look random and diverse.
Specific guidance on how to interpret the output of each module can be found in the relevant
report section, or in the FastQC help.
In this heatmap, we summarise all of these into a single heatmap for a quick overview.
Note that not all FastQC sections have plots in MultiQC reports, but all status checks
are shown in this heatmap.
loading..
Plot Table Data
Regex Help
Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.
See regex101.com for a more heavy duty testing suite.
Inference: it is safe to say that there are no
confounding effects that can be attributed to one of the conditions from
these results. Although the least amount and the highest amount of reads
seem to come from one of the samples in SPP1_KO and wt respectively the
sample size is low and the difference is not uniform across both the
conditions to assume that this might cause a bias.
STAR Indexing & Alignment
I have used the following scripts to perform indexing and
alignment:
The parameters used in the alignment command are explained below:
--runMode genomeGenerate: This specifies the mode of
the STAR program, which is genome generation in this case.
--runThreads: This sets the number of threads used
for the genome generation process.
--genomeDir /athena/angsd/scratch/moa4020/project/referenceGenome/GRCm38_STARindex:
This specifies the directory where the genome index will be
saved.
--genomeFastaFiles /athena/angsd/scratch/moa4020/project/referenceGenome/mm10/mm10.fa:
This specifies the path to the FASTA file of the genome reference
sequence that will be used to generate the genome index.
--sjdbGTFfile /athena/angsd/scratch/moa4020/project/referenceGenome/mm10/mm10.ncbiRefSeq.gtf:
This specifies the path to the GTF annotation file that will be used to
guide the genome generation process.
--sjdbOverhang 149: This specifies the length of the
genomic sequence flanking the splice junctions that will be used to
generate the genome index.
$ sbatch $MyScripts/STAR_alignment.sh
#!/bin/bash -l
#SBATCH --job-name=STAR_alignReads
#SBATCH --output=/home/moa4020/angsd/project/scripts/stdout/STAR_alignReads_%j.out
#SBATCH --error=/home/moa4020/angsd/project/scripts/stderr/STAR_alignReads_%j.err
#SBATCH --mail-user=moa4020@med.cornell.edu
#SBATCH --mail-type=ALL
#SBATCH --time=10:00:00
#SBATCH --mem=40G
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=15
# Activate your environment
mamba activate angsd
IndexDir=/athena/angsd/scratch/moa4020/project/referenceGenome/GRCm38_STARindex
fastaDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/fastq
outDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments
# Make a table with the sample name and paths to the 1st and 2nd mate
# Set the name of the output file
sample_table=sample_table.txt
> $sample_table
# Iterate over the fastq files in the directory
for file in ${fastaDir}/*_1.fastq.gz; do
file1=$(basename ${file})
sample=$(basename ${file%_1.fastq.gz})
file2=${sample}_2.fastq.gz
echo -e "${sample}\t${file1}\t${file2}" >> $sample_table
done
while read -r sample mate1 mate2
do
echo "Processing sample: $sample"
STAR --runMode alignReads \
--runThreadN 15 \
--genomeDir $IndexDir \
--readFilesIn $fastaDir/$mate1 $fastaDir/$mate2 \
--readFilesCommand zcat \
--outFileNamePrefix $outDir/"$sample." \
--outSAMtype BAM SortedByCoordinate \
--outSAMunmapped Within \
--outSAMattributes All
done < $sample_table
samtools index -M $outDir/*.out.bam
The parameters used in the alignment command are explained below:
--runMode alignReads: This parameter specifies the
mode in which STAR should run, which in this case is to align
reads.
--runThreadN: This parameter specifies the number of
threads that should be used for the alignment, which in this case is 10.
Using multiple threads can speed up the alignment process.
--genomeDir: This parameter specifies the directory
where the genome index files are located.
--readFilesIn: This parameter specifies the input
FASTQ file that contains the reads to be aligned.
--readFilesCommand zcat: This parameter specifies
the command that should be used to decompress the input FASTQ file. In
this case, zcat is used to decompress a gzipped
file.
--outFileNamePrefix: This parameter specifies the
prefix to be used for the output files.
--outSAMtype BAM SortedByCoordinate: This parameter
specifies the format of the output SAM/BAM file, which in this case is
BAM, sorted by coordinate.
--outSAMunmapped Within: This parameter specifies
that unmapped reads should be included in the output file, but marked as
“within” the aligned reads.
--outSAMattributes All: This parameter specifies
which attributes should be included in the output SAM/BAM file.
Performing alignment once again using the novel splice junction data
obtained from the first iteration of alignment to improve the accuracy
of gene expression data.
$ sbatch $MyScripts/STAR_2alignment.sh
#!/bin/bash -l
#SBATCH --job-name=STAR_alignReads_it2
#SBATCH --output=/home/moa4020/angsd/project/scripts/stdout/STAR_alignReads_it2_%j.out
#SBATCH --error=/home/moa4020/angsd/project/scripts/stderr/STAR_alignReads_it2_%j.err
#SBATCH --mail-user=moa4020@med.cornell.edu
#SBATCH --mail-type=ALL
#SBATCH --time=10:00:00
#SBATCH --mem=40G
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=15
# Activate your environment
mamba activate angsd
IndexDir=/athena/angsd/scratch/moa4020/project/referenceGenome/GRCm38_STARindex
fastaDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/fastq
it1Dir=athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments
outDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments_it2
# Make a table with the sample name and paths to the 1st and 2nd mate
# Set the name of the output file
sample_table=sample_table.txt
> $sample_table
# Iterate over the fastq files in the directory
for file in ${fastaDir}/*_1.fastq.gz; do
file1=$(basename ${file})
sample=$(basename ${file%_1.fastq.gz})
file2=${sample}_2.fastq.gz
echo -e "${sample}\t${file1}\t${file2}" >> $sample_table
done
while read -r sample mate1 mate2
do
echo "Processing sample: $sample"
STAR --runMode alignReads \
--runThreadN 15 \
--genomeDir $IndexDir \
--sjdbFileChrStartEnd $it1Dir/*.SJ.out.tab \
--readFilesIn $fastaDir/$mate1 $fastaDir/$mate2 \
--readFilesCommand zcat \
--outFileNamePrefix $outDir/"$sample.it2." \
--outSAMtype BAM SortedByCoordinate \
--outSAMunmapped Within \
--outSAMattributes All
done < $sample_table
samtools index -M $outDir/*it2.*.out.bam
Pre-lim QC
Running samtools flagstat and stats function on all the .bam
files
$ sbatch $MyScripts/flagstat.sh
#!/bin/bash -l
#SBATCH --job-name=STAR_flagstat
#SBATCH --output=/home/moa4020/angsd/project/scripts/stdout/STAR_flagstat_%j.out
#SBATCH --error=/home/moa4020/angsd/project/scripts/stderr/STAR_flagstat_%j.err
#SBATCH --mail-user=moa4020@med.cornell.edu
#SBATCH --mail-type=ALL
# Activate your environment
mamba activate angsd
outDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments_it2/alignment_it2_files
# Iterate over the fastq files in the directory
for file in /athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments_it2/alignment_it2_files/*/*.out.bam; do
filename=$(basename ${file})
foldername=$(echo $filename | cut -d ".it2" -f 1)
samtools flagstat ${file} > ${outDir}/${foldername}/${filename}.flagstat.txt
samtools stats ${file} > ${outDir}/${foldername}/${filename}.stats.txt
echo "$filename done"
done
Counting reads
I have used the following script to run the featureCounts command
-
-p: Indicates that the input BAM files are
paired-end reads.
-g gene_id: Specifies the feature type to be
counted.
-T 10: Sets the number of threads used by
featureCounts to 10.
-a $AnnotationFile: Specifies the annotation file to
be used.
-o counts.txt: Specifies the output file
name.
Generating a bar plot (using ggplot2) that displays the
numbers of assigned and unassigned reads for the featureCounts
run:
mySummary <- read.table("STAR/featureCounts/Counts.txt.summary")
colNames <- sapply(mySummary[1,], function(x) gsub(".it2.Aligned.sortedByCoord.out.bam", "", basename(x)))
colnames(mySummary) <- colNames
mySummary <- as.data.frame(mySummary[-1,])
# Melt the data and convert the value column to numeric
long_mySummary <- melt(setDT(mySummary), id.vars = "Status")
long_mySummary[, value := as.numeric(value)]
# Remove zero value rows
long_mySummary <- filter(long_mySummary, value != 0)
long_mySummary
MultiQC: Summarize analysis results for multiple tools and samples in a single report Philip Ewels, Måns Magnusson, Sverker Lundin and Max Käller
Bioinformatics (2016)
doi: 10.1093/bioinformatics/btw354
PMID: 27312411
A modular tool to aggregate results from bioinformatics analyses across many samples into a single report.
Loading report..
Report
generated on 2023-04-19, 19:57 EDT
based on data in:
/athena/angsd/scratch/moa4020/project/GEO_Dataset/STAR_alignments_it2
RSeQC package provides a number of useful modules that can comprehensively evaluate high throughput RNA-seq data.DOI: 10.1093/bioinformatics/bts356.
Read Distribution
Read Distribution calculates how mapped reads are distributed over genome features.
loading..
Gene Body Coverage
Gene Body Coverage calculates read coverage over gene bodies. This is used to check if reads coverage is uniform and if there is any 5' or 3' bias.
loading..
featureCounts
Subread featureCounts is a highly efficient general-purpose read summarization program that counts mapped reads for genomic features such as genes, exons, promoter, gene bodies, genomic bins and chromosomal locations.DOI: 10.1093/bioinformatics/btt656.
Alignment metrics from samtools stats; mapped vs. unmapped reads.
For a set of samples that have come from the same multiplexed library,
similar numbers of reads for each sample are expected. Large differences in numbers might
indicate issues during the library preparation process. Whilst large differences in read
numbers may be controlled for in downstream processings (e.g. read count normalisation),
you may wish to consider whether the read depths achieved have fallen below recommended
levels depending on the applications.
Low alignment rates could indicate contamination of samples (e.g. adapter sequences),
low sequencing quality or other artefacts. These can be further investigated in the
sequence level QC (e.g. from FastQC).
loading..
Alignment metrics
This module parses the output from samtools stats. All numbers in millions.
loading..
Samtools Flagstat
This module parses the output from samtools flagstat. All numbers in millions.
Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.
See regex101.com for a more heavy duty testing suite.
Inference: An average of 45-50 million transcripts were assigned to
the exonic regions of the genome. The gene body coverage for all the
samples appears to have a uniform trend. The alignment was successful
and no bias was observed towards one condition.
Along with the list of decoys salmon also needs the concatenated
transcriptome and genome reference file for index. NOTE: the genome
targets (decoys) should come after the transcriptome targets in the
reference
#!/bin/bash -l
#SBATCH --job-name=salmon_mapping
#SBATCH --output=/home/moa4020/angsd/project/scripts/stdout/salmon_mapping%j.out
#SBATCH --error=/home/moa4020/angsd/project/scripts/stderr/salmon_mapping%j.err
#SBATCH --mail-user=moa4020@med.cornell.edu
#SBATCH --mail-type=ALL
#SBATCH --time=10:00:00
#SBATCH --mem=40G
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=15
mamba activate salmon
indexDir=/athena/angsd/scratch/moa4020/project/referenceGenome/Salmonindex
fastqDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/fastq
outDir=/athena/angsd/scratch/moa4020/project/GEO_Dataset/salmon_alignments
gtfFile=/athena/angsd/scratch/moa4020/project/referenceGenome/mm10/mm10.ncbiRefSeq.gtf
# Make a table with the sample name and paths to the 1st and 2nd mate
# Set the name of the output file
sample_table=sample_table.txt
> $sample_table
# Iterate over the fastq files in the directory
for file in ${fastqDir}/*_1.fastq.gz; do
file1=$(basename ${file})
sample=$(basename ${file%_1.fastq.gz})
file2=${sample}_2.fastq.gz
echo -e "${sample}\t${file1}\t${file2}" >> $sample_table
done
while read -r sample mate1 mate2
do
echo "Processing sample: $sample"
salmon quant -g $gtfFile -i $indexDir -l A -1 $fastqDir/$mate1 -2 $fastqDir/$mate2 -p 15 --validateMappings --writeUnmappedNames -o $outDir/"$sample"
done < $sample_table
MultiQC: Summarize analysis results for multiple tools and samples in a single report Philip Ewels, Måns Magnusson, Sverker Lundin and Max Käller
Bioinformatics (2016)
doi: 10.1093/bioinformatics/btw354
PMID: 27312411
A modular tool to aggregate results from bioinformatics analyses across many samples into a single report.
Loading report..
Report
generated on 2023-04-20, 02:49 EDT
based on data in:
/athena/angsd/scratch/moa4020/project/GEO_Dataset/salmon_alignments
Uncheck the tick box to hide columns. Click and drag the handle on the left to change order.
Sort
Visible
Group
Column
Description
ID
Scale
||
Salmon
% Aligned
% Mapped reads
percent_mapped
None
||
Salmon
M Aligned
Mapped reads (millions)
num_mapped
read_count
Salmon
Salmon is a tool for quantifying the expression of transcripts using RNA-seq data.DOI: 10.1038/nmeth.4197.
loading..
Plot Table Data
Regex Help
Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.
rlog.dge <- DESeq.rlog[DGEgenes,] %>% assay
salmon_rlog.dge <- salmon_DESeq.rlog[salmon_DGEgenes,] %>% assay
# Sanity check to see if both the conditions actually lead to 2 different clusters
DESeq2::plotPCA(DESeq.rlog, intgroup = "condition", ntop = 500, returnData = FALSE)
# create an empty vector to store the values
values <- numeric(333)
# loop over all values of x from 1 to 333
for (x in 1:333) {
# calculate the value of the equation for the current value of x
value <- length(intersect(salmon_Enrichment@result[["Description"]][1:x],STAR_Enrichment@result[["Description"]][1:x]))
# store the value in the vector
values[x] <- value/x
}
plot(values, type = "l", xlab = "x", ylab = "Identity")
plot(values[1:40], type = "l", xlab = "x", ylab = "Identity")
plot(values[1:10], type = "l", xlab = "x", ylab = "Identity")
List of genes mentioned to be differentially
expressed
The individual gene count-plots confer with the results from the
study performed.
Discussion
A brief description/list of issues/problems/limitations you encountered along the way and how you addressed them.
While creating an index using the “knowngene” version of the
.gtf file lead to counting just the transcripts and not the
genes since this file did not contain any gene_ids. I dealt with this
problem by re-indexing the mm10 genome for both the algorithms using the
ncbiRefSeq.gtf file from the UCSC table browser.
Performing the Gene Ontology analysis on the DESeq data turned out
to be misleading since I did not apply the log2FC cutoff of 1.5. I
corrected this by filtering out genes which have less than 1.5
log2FC.
Adding the log2FC filter did not help produce identical pathway
enrichment results displayed in the paper.
A table that summarizes the key data sets that you have generated during the analyses and decided to keep.